<?php
class Estadistica extends CI_Controller {
	
 	public $total_preguntas_tecnicas;
	public $total_preguntas_humanas;
	public $total_puntaje_tecnicas;
	public $total_puntaje_humanas;
		
	function index()
	{
		$this->load->view('module_estadistica');
	}
	
	function load_content($content, $id=null){
		switch ($content) {
			case 'dependencia':	
				$data = $this->load_data();
				$data['tabla_estadisticas'] = $this->generateStatisticTable();					
				$this->load->view('statistics/dependencia', $data);
				break;
			case 'detalle':
				$data = $this->load_data();
				$data['data'] = $this->generateStatisticGraphics();
				
				$this->load->view('statistics/detalle', $data);
				break;
		}
	}
	
	private function load_data()
	{
	 	$data = array();
	 	return $data;
	}
	
	private function generateStatisticTable(){
		$this->load->helper(array('form','url'));
		$this->load->model('dao/EvaluacionDAO');
		
		$resultado_evals = $this->EvaluacionDAO->getStatisticTable();
		
		$tabla_resultados = "";
		if ($resultado_evals != null)
			foreach ($resultado_evals->result() as $resultado){
				$tabla_resultados .= "<tr onclick=\"document.location.href = 'http://localhost/Sistema360/index.php/estadistica/load_content/detalle/".
						$resultado->id_evaluacion."'\">";
				$tabla_resultados .= "<td>".$resultado->titulo_evaluacion."</td>";
				$tabla_resultados .= "<td>".$resultado->fecha_evaluacion."</td>";
				$tabla_resultados .= "<td>".$this->homologarCargo($resultado->id_cargo_usuario)."</td>";
				$tabla_resultados .= "<td>".$resultado->nombres." ".$resultado->apellidos."</td>";
				$tabla_resultados .= "<td>".$resultado->total_preguntas."</td>";
				$tabla_resultados .= "<td>".round(($resultado->calificacion*100)/($resultado->total_preguntas*5),2)." &#37;</td>";
				$tabla_resultados .= "</tr>";
			}
		
		return $tabla_resultados;
		
	}
	
	private function homologarCargo($id_cargo){
		$cargos = $this->config->item('cargos');
		return $cargos[$id_cargo];
	}
	
	
	private function generateStatisticGraphics(){
		$this->load->helper(array('form','url'));
		$this->load->model('dao/EvaluacionDAO');
		
		$data = array();
		
		$resultado_evals = $this->EvaluacionDAO->getStatisticGraphics();
	
		$tabla_resultados = "";
		$cont = 0;
		$calificacion = 0;
		
		foreach ($resultado_evals->result() as $resultado){
			
			$titulo = $resultado->titulo_evaluacion;
			$nombre = $resultado->nombres." ".$resultado->apellidos;
			$calificacion += $resultado->calificacion;
			
			if ($cont++ == 0){
				$total_tecnicas = $resultado->total_preguntas;
				$total_puntaje_tecnicas = $resultado->calificacion;
			} else {
				$total_humanas = $resultado->total_preguntas;
				$total_puntaje_humanas = $resultado->calificacion;
			}
		}
		
		$total_preguntas_tecnicas = $total_tecnicas;
		$total_preguntas_humanas = $total_humanas;
		$tabla_resultados .= "<tr \">";
		$tabla_resultados .= "<td>".$titulo."</td>";
		$tabla_resultados .= "<td>".$nombre."</td>";
		$tabla_resultados .= "<td>".$total_tecnicas."</td>";
		$tabla_resultados .= "<td>".$total_humanas."</td>";
		$tabla_resultados .= "<td>".$calificacion."</td>";
		$tabla_resultados .= "</tr>";
		
		$data['tabla_grafestadisticas'] = $tabla_resultados;
		$data['porcentaje_tecnicas'] = round($total_puntaje_tecnicas*100/($total_preguntas_tecnicas*5),2);
		$data['porcentaje_humanas'] = round($total_puntaje_humanas*100/($total_preguntas_humanas*5),2);
		
		return $data;
	}
}